#ifndef MY_PTHREAD_H
#define MY_PTHREAD_H

#include "common.h"
//#include "mqtt.h"

extern MsgQueue queue;
extern MQTTClient pub_client;
extern MQTTClient sub_client;
extern void* shm_addr;
extern int g_quit;

extern MsgQueue tcp_msg_queue;  // 用于传递TCP消息的队列
void* tcp_to_shm_thread(void* arg);  // TCP消息转共享内存线程


void* read_shm_thread(void* arg);      // 读共享内存+序列化线程
void* mqtt_publish_thread(void* arg);  // MQTT发布线程
void* mqtt_subscribe_thread(void* arg); // MQTT订阅线程
void* queue_thread(void* arg);         // 消息队列管理线程

// 线程创建函数（统一启动所有线程）
int create_all_threads(pthread_t* t1);

#endif
